STL sequence container

시퀀스 컨테이너(sequence container)
활용도가 높은 자료구조를 제공한다.
벡터(vector) 덱(Deque) 등을 제공
Vector
Deque
List
Forward list
덱(Deque)
데이터를 양끝에서 넣고 뺄 수 있는 자료 구조(Data structure)
PUSH_FRONT
POP_FRONT
PUSH_BACK
POP_BACK
INSERT:  덱의 특정 위치에서 데이터를 삽입

push_front(element)
push_back(element)
pop_front()
pop_back()
begin()
insert(loc, times, num)
size()
clear()
empty()

deque<int>::iterator iter
#include <iostream>
#include <deque>
using namespace std;
int main(void){
deque<int> d;
d.push_front(3); d.push_back(7); d.pop_front(); d.push_front(4);
for(int i=0;i<d.size();i++){
cout<<d[i]<<' ';}
cout<<'\n';
deque<int>::iterator iter // iterator
iter=d.begin();
d.insert(iter+1, 3, 5); //begin+1 3 5
iter=d.begin();
d.insert(iter+1, 1, 9); //begin+1 1 9
for(int i=0; i<d.size(); i++){
cout<<d[i]<<' ';}
cout<<'\n';
d.clear();
cout<<d.empty()<<'\n';
system("pause");
return 0;
}
벡터(Vector)
벡터는 뒤쪽에서만 데이터를 넣거나 뺄 수 있는 자료 구조이다. 배열처럼 사용하기에 적합하다는 점에서
알고리즘 문제풀이에서 가장 많이 사용된다.
실제로 문제풀이에서는 앞뒤로 원소가 추가되는 경우가 적으며, 임의 원소에 접근해야 하는 경우가 많아
덱 자료구조와 비교했을 때 일반적인 경우 성능적으로 더 효율적이다.
PUSH_BACK
POP_BACK
INSERT

push_back(element)
pop_back()
insert(loc, times, num)
size()
clear()
empty()

vector<int>::itertator iter
#include <iostream>
#include <vector>
using namespace std;
int main(void){
vector<int> v;
v.push_back(3); v.push_back(5); v.push_back(8);
vector<int>::iterator iter;
iter=v.begin();
v.insert(iter+1, 3, 7);
for(int i=0; i<v.size(); i++){
cout<<v[i]<<' ';
}
cout<< '\b';
v.clear();
cout<<v.empty();
system("pause");
return 0;
}